/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mvc.modelo.basico;

import mvc.modelo.Conexion;

import com.mysql.jdbc.CallableStatement;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import javax.swing.*;

/**
 * <P><code>ModeloBasico</code> Es la Capa de conexion a la Base de datos mas
 * Basica que Existe
 * Creada por ronald Barrera
 */
public class ModeloBasico {


    private Conexion con= new Conexion();
    private ResultSet resultset;
    Map<String, String> Querys = new HashMap<String, String>();


    public ModeloBasico() {
      //Aqui ingrese lo que representa al SQUEMA que quiere consultar por Modulo
      //--> DF
      Querys.put("df_estatic_content","Select * from df_estatic_content  WHERE 1=1 ");
      //--> BF
      Querys.put("kn_pregunta",       "Select * from kn_pregunta as pr, kn_tipopregunta as tp WHERE pr.pr_tipo = tp.tp_id   ");
      Querys.put("kn_tag",            "Select * from kn_tag as tg, kn_tema as t  WHERE t.tm_id = tg.tg_tema ");
      Querys.put("kn_tagpregunta",    "Select * from kn_tagpregunta  WHERE 1=1 ");
      Querys.put("kn_tema",           "Select * from kn_tema WHERE 1=1");
      Querys.put("kn_tipopregunta",   "Select * from kn_tipopregunta  WHERE 1=1 ");
     

    }
/***
 *
 * @param tabla : Declaracion preparada en la funcion <i>crearDeclaracion</i>
 * @param condicion :ghghj
 * @return : un resulset de registros
 */
    public ResultSet consulta( String tabla, String condicion ){
        try {
            String sql = (String)Querys.get(tabla)  + " " + condicion;
            Statement stm;
            Connection cn = con.abrirConexion();
            stm=cn.createStatement();
            resultset=stm.executeQuery(sql);

            return resultset;
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "El mensaje de error es: "+e.getMessage(), "Exception en consultar cliente", JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }






    /***
 *
 * @param SQL : Ingresa aqui el SQL Completo que va directo a la BASE
  * @return : un resulset de registros
 */
    public ResultSet consultaLibre( String SQL ){
        try {
            Statement stm;
            Connection cn = con.abrirConexion();
            stm=cn.createStatement();
            resultset=stm.executeQuery(SQL);

            return resultset;
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "El mensaje de error es: "+e.getMessage(), "Exception en consultar cliente", JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }


}
